DoE参数生成算法(Latin Hypercube)
组件名称 | Json键值 | ||
---|---|---|---|
工具集 | 设计分析优化 | ||
组件作者 | 雪浪云-卡尔 | ||
文档版本 | 1.0 | ||
功能 | 基于Latin Hypercube设计点集合生成算法自动生成设计点 | ||
镜像名称 | suanpan_mdo:latest | ||
开发语言 | Python |
组件原理
- 基于Latin Hypercube设计点集合生成算法自动生成设计点;
- 加上
design_id
,批量发给仿真接口; - 仿真接口每次返回一个
design_id
设计点结果,本节点再发送一个设计点给仿真接口,直到发送完毕。最后一次结束时再另外输出一个空的Json字符串:即{}
,通知其他组件发送完毕结束这个状态;
输入桩
输入端子1
- 端口名称:待生成参数及取值范围;
- 功能描述:接收优化问题定义,用于重新定义DoE参数生成算法组件的待生成(标定)参数及取值范围参数。即当右面板配置项“待生成(标定)参数及取值范围”为空时,需要至少收到一次本输入端子的输入给待生成(标定)参数及取值范围赋值。
- 输入类型:对象;
- 示例:
{
"inputs": [
{"param": "length", "min": 0, "max": 2, "default": 1},
{"param": "width", "min": 0, "max": 2, "default": 1},
{"param": "height", "min": 0, "max": 2, "default": 1}
]
}
输入端子2
- 端口名称:仿真结果;
- 功能描述:仿真的结果或任意非空数据,仅作为触发使用,用于输出下一个仿真参数(即设计点);
- 输入类型:对象;
- 示例:
{
"design_id": 3,
"Volume": 4.964462086375574,
"Surface": 17.542690545605996
}
输出桩
输出端子1
- 端口名称:仿真参数;
- 功能描述:仿真参数用于作为仿真接口组件的输入,其中包含design_id。每次输出后内部design_id累加1,最后一次结束时再另外输出一个空的Json字符串:即
{}
,通知其他组件发送完毕结束这个状态; - 输出类型:对象;
- 示例:
{
"design_id": 3,
"length": 1.5918367346938775,
"width": 1.5918367346938775,
"height": 1.9591836734693877
}
数据接收方式
异步模式。
参数配置
待生成参数及取值范围 【参数】
- 功能描述:待生成参数及取值范围【参数】,如果该参数不为空,则该参数可以替代输入桩子1(即“待生成参数及取值范围”)的作用,即此时无需输入桩子1也可以正常运行;
- 必选参数:否;
- 默认:空;
- 示例:
{
"inputs": [
{"param": "length", "min": 0, "max": 2, "default": 1},
{"param": "width", "min": 0, "max": 2, "default": 1},
{"param": "height", "min": 0, "max": 2, "default": 1}
]
}
生成设计点个数
- 功能描述:需要生成的设计点的个数;
- 必选参数:否;
- 默认:50;
并发数
- 功能描述:首次发送的设计点数目,如其值为3,即首次启动时候连续发送3个
design_id
的参数点到仿真接口(仿真接口负责动态分配仿真实例运行3个设计点),仿真接口一次返回一个结果(A)设计点,本组件收到一个结果会再发送一个design_id的参数点给仿真接口; - 必选参数:否;
- 默认:1;
运行调优
不建议进行特别配置,按照平台的默认分配运行。
使用方法
未部署状态下的操作步骤
后面板链接
右面板配置
- 配置待生成参数及取值范围 【参数】,可默认为空;
- 配置生成设计点个数,可默认为16;
- 配置并发数,可默认为1;
部署状态下的操作步骤
后面板操作
在输入框中输入“待生成参数及取值范围”,可以观察输出:
应用本DoE方法生成的设计点如下:
2022-01-26 04:04:52{"design_id": 1, "length": 0.8, "width": 2.0, "height": 0.26666666666666666}
2022-01-26 04:04:52{"design_id": 2, "length": 1.3333333333333333, "width": 1.2, "height": 2.0}
2022-01-26 04:04:52{"design_id": 3, "length": 0.5333333333333333, "width": 0.13333333333333333, "height": 1.8666666666666667}
2022-01-26 04:04:52{"design_id": 4, "length": 0.9333333333333333, "width": 1.7333333333333334, "height": 0.6666666666666666}
2022-01-26 04:04:52{"design_id": 5, "length": 0.6666666666666666, "width": 1.3333333333333333, "height": 1.3333333333333333}
2022-01-26 04:04:52{"design_id": 6, "length": 1.6, "width": 0.8, "height": 0.4}
2022-01-26 04:04:52{"design_id": 7, "length": 2.0, "width": 1.8666666666666667, "height": 1.4666666666666666}
2022-01-26 04:04:52{"design_id": 8, "length": 0.26666666666666666, "width": 1.6, "height": 1.7333333333333334}
2022-01-26 04:04:52{"design_id": 9, "length": 1.0666666666666667, "width": 0.26666666666666666, "height": 1.6}
2022-01-26 04:04:52{"design_id": 10, "length": 1.4666666666666666, "width": 0.5333333333333333, "height": 0.5333333333333333}
2022-01-26 04:04:52{"design_id": 11, "length": 0.4, "width": 0.0, "height": 0.8}
2022-01-26 04:04:52{"design_id": 12, "length": 1.8666666666666667, "width": 0.9333333333333333, "height": 0.9333333333333333}
2022-01-26 04:04:52{"design_id": 13, "length": 1.2, "width": 1.4666666666666666, "height": 0.13333333333333333}
2022-01-26 04:04:52{"design_id": 14, "length": 1.7333333333333334, "width": 0.4, "height": 0.0}
2022-01-26 04:04:52{"design_id": 15, "length": 0.13333333333333333, "width": 0.6666666666666666, "height": 1.0666666666666667}
2022-01-26 04:04:52{"design_id": 16, "length": 0.0, "width": 1.0666666666666667, "height": 1.2}
2022-01-26 04:04:52{}
弹窗操作
无。